SET( CMAKE_CXX_FLAGS "-std=c++11 -O3")

PROJECT(MyRoject) # 自己定义的项目名

# 设置C++标准，推荐使用C++11或更高版本以确保多线程安全
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)

CMAKE_MINIMUM_REQUIRED(VERSION 3.10) # 要求的最低版本的cmake

# 寻找MySQL C API库
find_package(PkgConfig)
pkg_check_modules(MYSQL REQUIRED mysqlclient)

# 包含MySQL C API的头文件目录
include_directories(${MYSQL_INCLUDE_DIRS})

set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) # 设置include的搜索路径
aux_source_directory(. SRC_LIST) # 添加源文件目录./src, 并将其记为SRC,类似于 type define
include_directories("${PROJECT_SOURCE_DIR}")
include_directories("/usr/include/mysql/")
include_directories("/usr/include/")

#add_executable(main_cmake) # 使用main.cpp 和其他源文件SRC编译为可执行文件, 可执行文件名为out
#add_executable(main main.cpp)
# 指定生成目标
add_executable(main Connection.cpp ConnectionPool.cpp main.cpp)
# 链接MySQL C API库
target_link_libraries(main ${MYSQL_LIBRARIES})
